home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKitArchive.mbox / mbox / 000132_misckit-reques…aska.et.byu.edu_Thu Feb 17 03:08:10 1994.msg < prev    next >
Internet Message Format  |  1994-10-30  |  5KB

  1. Return-Path: <misckit-request@alaska.et.byu.edu>
  2. Received: from alaska.et.byu.edu by darth.byu.edu (NX5.67d/NX3.0M)
  3.     id AA00356; Thu, 17 Feb 94 03:05:09 -0700
  4. Received: from darth.byu.edu by alaska.et.byu.edu; Thu, 17 Feb 1994 03:02:13 -0700
  5. Received: by darth.byu.edu (NX5.67d/NX3.0M)
  6.     id AA00335; Thu, 17 Feb 94 03:00:43 -0700
  7. Date: Thu, 17 Feb 94 03:00:43 -0700
  8. From: Don Yacktman <don@darth.byu.edu>
  9. Message-Id: <9402171000.AA00335@darth.byu.edu>
  10. Received: by NeXT.Mailer (1.100.RR)
  11. Received: by NeXT Mailer (1.100.RR)
  12. To: misckit@alaska.et.byu.edu
  13. Subject: Re: Breaking MiscKit into separate "levels" (WAS Re: MiscStringKit?)
  14. Reply-To: don@darth.byu.edu
  15.  
  16.  
  17. Robert Nicholson:
  18. > > Don's and the authors work on the MiscKit are exceptional.  However,
  19. > > I don't have a need for all of the functionality that exists
  20. > > within misckit.a. I'm sure there are other people in the same boat.
  21.  
  22. OK, I'm seeing two ways to split things up.  One is into smaller libs
  23. with specific functionality in each.  I'm somewhat against this, especially
  24. when things start to depend on each other's existence.  (Like, the log and
  25. lock files _require_ the string class...)  But I also understand why you
  26. wouldn't want all the extra junk linked into your app.  If NeXT would let
  27. us make shlibs, this would be a moot point.  After all, you link NeXT
  28. apps against the whole AppKit.  Since it is shared code, it doesn't really
  29. matter much except for the size of the debug executable.
  30.  
  31. The other option I am seeing is to split up by levels, as Ernie P. suggests:
  32.  
  33. > This brings up something I have thought about before.  I was
  34. > wondering if it would be possible to break the kit apart into
  35. > "levels" depending on how much it relied on other things:
  36. > [...level 0, 1, 2...]
  37.  
  38. I see these, then, as:  (Ernie's classification, my re-phrasing)
  39. 0)  Depends on Object, standard C headers, and other level 0 classes.
  40. 1)  Depends on NeXT's "common classes" like List and HashTable,
  41.     anything that level 0 depends on, and level 1 classes.
  42. 2)  Depends on everything in levels 0 and 1, other level 2 classes, and
  43.     the NeXT appkit.
  44.  
  45. Well, I like this idea.  It might be a good way to go.  The question is then
  46. how we set up the libraries; do we make level 2 mean that the .a file has
  47. all of level 1 and level 0 in a single file, or do we make each level's
  48. .a file separate, and then to use the level 2 lib you have to link against
  49. the level 0 and level 1 lib?  Remember my whole point in creating the
  50. MiscKit initially was to stick in a bunch of objects I use a lot so that I
  51. could add one file -- the .a file -- in project builder and then I'm on my
  52. way.  It's makes things so much more comfy for the lazy.  :-)
  53.  
  54. So I guess if disk space is no issue, the first option is the one the lazy
  55. person in me likes.  However, it's not much work to add a few libs to
  56. the project.  So since my disk space is at a premium, I think I'd in
  57. reality prefer the second option.  I don't think that this would be too
  58. terribly difficult to maintain, either.
  59.  
  60. Michael Pizolato's division is even finer-grained; I'm afraid that if
  61. we break things up too far that it will make the MiscKit too confusing
  62. to work with...but I think either scheme suggested would be pretty useful.
  63. How do people prefer to split things up?  We could do a hybrid:
  64.  
  65. 0) C functions and macros only
  66. 1) depends on Object, too
  67. 2) depends on common classes
  68. 3) depends on appkit
  69. 4) adds palette support
  70.  
  71. Because of the way palettes are done, (4) might not be really necessary.
  72. And perhapd the IB methods should only be present as a category in the
  73. palette project, and not in the library itself anyway.  (cf. MiscString)  Does
  74. anybody use the IB methods to get info about an object other than from IB?
  75. If not, then maybe placing this in the palette projects would be best.
  76.  
  77. > The build process could produce either "misckit[012]" or just "misckit",
  78. > or both, depending on flags (that's not asking too much, is it?).
  79.  
  80. I'd need a to learn a little more about Makefiles in order to do it this way,
  81. but it shouldn't be too horrid, I think.
  82.  
  83. Then there's header organization...perhaps make four headers:
  84. <misckit/level0.h>, <misckit/level1.h>, <misckit/level2.h>, and
  85. <misckit/misckit.h>.  The last one just includes all of them; and
  86. the level[12].h would include the lower numbered headers.
  87.  
  88. > The relevance of this to Robert's comments it that String and
  89. > similar non-dependant classes could become part of a
  90. > 'lightweight' Level 0 class.  It also addresses the question
  91. > (in one of the newsgroups, I think) about what portions of
  92. > the MiscKit are applicable to non-NeXT platforms.
  93.  
  94. I think that such a scheme would answer those questions, and
  95. provide useful objects for non-NeXT folks.  I think that would be
  96. a good thing.  And right now, the AppKit is pretty much intertwined
  97. throughout the MiscKit.
  98.  
  99. Now, there is an important thing to note:  The NeXT and GNU Object
  100. classes _are_ slightly different; there are object methods in the GNU
  101. and in Cox's book that are not in NeXT's object class.  Things like
  102. deep/shallow copies, etc.  Perhaps we need a category for NeXT
  103. folk to extend things so that we are building on common ground.
  104. That's some food for thought...
  105.  
  106. Oh, and suggested, we'd be better off using mnemonics than level
  107. numbers.  Any suggestions here?
  108.  
  109. ---
  110. Later,
  111.  
  112. -Don Yacktman
  113. Don_Yacktman@byu.edu
  114.  
  115.  
  116.